package com.ruoyi.bantong.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.bantong.domain.BtUserAccountRecord;
import org.springframework.stereotype.Repository;

/**
 * 用户账户变动记录Mapper接口
 * 
 * @author laohei
 * @date 2021-01-24
 */
@Repository
public interface BtUserAccountRecordMapper 
{
    /**
     * 查询用户账户变动记录
     * 
     * @param usrId 用户账户变动记录ID
     * @return 用户账户变动记录
     */
    public BtUserAccountRecord selectBtUserAccountRecordById(Integer usrId);

    /**
     * 查询用户账户变动记录列表
     * 
     * @param btUserAccountRecord 用户账户变动记录
     * @return 用户账户变动记录集合
     */
    public List<BtUserAccountRecord> selectBtUserAccountRecordList(BtUserAccountRecord btUserAccountRecord);

    /**
     * 新增用户账户变动记录
     * 
     * @param btUserAccountRecord 用户账户变动记录
     * @return 结果
     */
    public int insertBtUserAccountRecord(BtUserAccountRecord btUserAccountRecord);

    /**
     * 修改用户账户变动记录
     * 
     * @param btUserAccountRecord 用户账户变动记录
     * @return 结果
     */
    public int updateBtUserAccountRecord(BtUserAccountRecord btUserAccountRecord);

    /**
     * 删除用户账户变动记录
     * 
     * @param usrId 用户账户变动记录ID
     * @return 结果
     */
    public int deleteBtUserAccountRecordById(Integer usrId);

    /**
     * 批量删除用户账户变动记录
     * 
     * @param usrIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteBtUserAccountRecordByIds(Integer[] usrIds);

    /**
     * 后台首页统计
     * 1.售出金豆（统计的是平台给所有机构充值的金豆总合）
     * 2.全部版通（统计的是会员中签后获得的版通总积分）
     * 3.未兑换版通（统计的是现在所有会员拥有的版通积分总数）
     * 4.已兑换版通（统计的是会员获得版通积分后，来平台兑换版通后扣除的总数）（3+4的总合应该等于2）
     */
    Map<String,Object> selectMainData();

    /**
     * 后台首页统计
     * 5.统计一下每天的销售情况，用列表显示，只显示前一天的情况，统计时间为每天0点截止 列表维度为：1.充值金豆数 2.兑换版通数。
     */
    List<Map<String,Object>> selectListOrderByDay();
}
